1. Field of the Invention
The present invention relates to a computer system with an emulation mechanism.
2. Description of the Related Art
In recent years, as semiconductor techniques have progressed, microprocessors, peripheral circuit control LSIs and memory LSIs have been manufactured at comparatively low cost. By arbitrarily combining these LSIs, a computer system having relatively high performance can be manufactured. Also in the field of software, a standard operation system (OS) has been developed, and a large number of commercial software packages can be used.
In such a computer system, a device which has been adopted in an application program design is sometimes replaced with another device in order to expand a function. If the original application program is executed for this device, the application program which has normally operated before expansion of the system some times does not operate. In order to solve this problem, emulation processing is generally performed for a version-up device by programs. That is, when a write command is executed for the version-up device, an interrupt to a first CPU is generated by a hardware logic section. In response to the interrupt, a second CPU executes an emulation program to emulate and convert an address, data or the like related to the write command into correct values. Thereafter, the second CPU performs a write operation for the version-up device by using the converted address and data. In this manner, compatibility between the hardware before and after expansion of the function can be maintained.
In the above conventional emulation mechanism, however, if the performance of the CPU or the like is improved to increase a processing speed, a subsequent write command for the version-up device may be undesirably executed after the preceding write command for the device is executed to generate interrupt and before the second CPU activates the emulation program in response to the interrupt. In this case, an address and data related to the first write command are lost.
In addition, if the device is a display unit, this conventional display unit requires an exclusive adapter. For this reason, a computer system capable of supporting various types of display units must comprise corresponding exclusive adapters. Therefore, a system capable of supporting various display units by one adapter has been developed. In such a system, an emulation mechanism supports various display units by one adapter, such that an operation can be normally performed regardless of an adapter accessed by an application program. That is, when a write command is executed by the application program, an interrupt to a CPU is generated, and the write command is emulated for an adapter to be accessed by an emulation program activated by the CPU.
In this method, a satisfactory man-machine interface can be achieved in relatively low-speed processing. However, since interrupt to the CPU is generated each time a write command is executed for the adapter, an instruction execution speed is decreased when write commands are successively executed, thereby adversely affecting the performance of the computer system.